package service;

import entity.Book;
import entity.User;

import java.sql.SQLException;
import java.util.List;

public interface BookService {
    //根据Id查询书籍
    public Book queryBookById(String bookId) ;

    //查询所有书籍
    public List<Book> queryAllBooks();

    //根据Id修改书籍
    public boolean updateBookById(String bookId,Book book) ;

    //根据Id删除书籍
    public boolean deleteBookById(String bookId);

    //添加书籍
    public boolean addBook(Book book);

    //查询书籍总数
    public int getBookTotalCount(String sql,Object[] params);

    //查询当前页的数据集合 currentPage(当前页码) pageSize(页面大小)
    public List<Book> queryBookByPage(int currentPage,int pageSize);

    //根据账号或书名查询当前页的数据集合 currentPage(当前页码) pageSize(页面大小)
    public List<Book> queryBookByPageRequire(int currentPage,int pageSize,Object param);

    //查询可借阅书籍当前页的数据集合 currentPage(当前页码) pageSize(页面大小)
    public List<Book> queryBorrowBookByPage(int currentPage,int pageSize);

    //根据书籍信息查询可借阅书籍当前页的数据集合 currentPage(当前页码) pageSize(页面大小)
    public List<Book> queryBorrowBookByPageRequire(int currentPage,int pageSize,Object param);

    //查询可归还书籍当前页的数据集合 currentPage(当前页码) pageSize(页面大小)
    public List<Book> queryReturnBookByPage(int currentPage,int pageSize,String userId);

    //根据书籍信息查询可归还书籍当前页的数据集合 currentPage(当前页码) pageSize(页面大小)
    public List<Book> queryReturnBookByPageRequire(int currentPage,int pageSize,String userId,Object param);
}
